PROGRAMACIÓN ORIENTADA A OBJETOS

Generalidades----------------------------------------------------------------------------------------------
Código: 32262 Departamento: Ciencias de la Computación
Curso: Cuatrimestre:
Tipo: Optativa Créditos: 4,5 Teóricos: 3 Prácticos: 1,5  
Objetivos de la asignatura---------------------------------------------------------------------------------
Con esta asignatura se pretende enseñar al alumno el paradigma de Programación Orientado a Objetos. El objetivo principal será plantear una metodología de construcción de programas orientados a objetos necesarios para desarrollar soluciones software a problemas reales, de forma que estos programas sean robustos frente a fallos y estén bien documentados. Para ello se estudiarán técnicas de análisis y diseño orientadas a objetos.
Recomendaciones o requisitos para cursar la asignatura--------------------------------------------------
Para cursar esta asignatura es necesario tener conocimientos de programación en general para poder comprender el paradigma de programación orientada a objetos que aquí se presenta.
Programa---------------------------------------------------------------------------------------------------
Tema 1.- Introducción al modelo orientado a objetos (4h).

1.1.-Evolución de la Orientación a Objetos.
---1.1.1.- Abstracción.
---1.1.2.- Encapsulación
---1.1.3.- Modularidad
---1.1.4.- Jerarquía
1.2.-Conceptos Básicos de la Orientación a Objetos.
---1.2.1.- Objetos y Clases.
---1.2.2.- Estado y Atributos.
---1.2.3.- Mensajes y Métodos.

 

Tema 2.- Clases y objetos (10h).

2.1.-Clases y Métodos.
---2.1.1.- Procedimientos.
---2.1.2.- Funciones.
---2.1.3.- Operadores.
---2.1.4.- Constructores.
---2.1.5.- Destructores.
2.2.-Sobrecarga de Métodos.
2.3.-Instanciación de Objetos.
---2.3.1.- Instanciación Estática y Dinámica.
---2.3.2.- Enlace Estático de Clases.
---2.4.-Paso de Mensajes.
---2.4.1.- Enlace Estático de Mensajes.
---2.4.2.- Composición de Mensajes.
2.5.-Atributos de las Clases.
---2.5.1.- Relación de Composición de Clases.
2.6.-Codificación de Métodos.
---2.6.1.- Relación de Uso de Clases.
---2.6.2.- Privacidad y Publicidad.
---2.7.-Estado de los Objetos.

 

Tema 3.- Herencia (10h).

3.1.-Superclases y Subclases.
---3.1.1.- Relación de Herencia.
---3.1.2.- Herencia Simple.
---3.1.3.- Herencia Múltiple.
---3.1.4.- Clases Abstractas.
3.2.-Metodos de Subclases.
---3.2.1.- Adición.
---3.2.2.- Reemplazo.
---3.2.3.- Refinamiento.
---3.2.4.- Ambigüedad.
3.3.-Instanciación de Objetos.
---3.3.1.- Instanciación Estática y Dinámica.
---3.3.2.- Enlace Estático y Dinámico de Clases.
---3.3.3.- Polimorfismo.
3.4.- Atributos de las Subclases.
---3.4.1.- Adición.
---3.4.2.- Ambigüedad.
3.5.- Codificación de Métodos.
---3.5.1.- Privacidad y Publicidad.
3.6.- Estado de los Objetos.

 

Tema 4.- Análisis y diseño orientado a objetos (6h).
4.1 Introducción al modelado conceptual de sistemas.
4.2 Modelado de la estructura de objetos de un sistema.
4.3 Modelado del comportamiento de un sistema.
4.4 Diseño orientado a objetos de los componentes de un sistema.
4.5 Patrones de diseño.
Prácticas----------------------------------------------------------------------------------------------------
Las prácticas se desarrollarán en una serie de sesiones de laboratorio:
  • Sesión 1: Presentación del entorno de programación Java y desarrollo de programas sencillos en Java para conocer su sintaxis básica. (2 h.)
  • Sesión 2: Desarrollo de programas en Java haciendo uso de las clases básicas que proporciona el lenguaje. (2 h.)
  • Sesión 3: Utilización del mecanismo de excepciones de Java para la realización de programas robustos frente a posibles fallos en tiempo de ejecución. (1 h.)
  • Sesión 4: Desarrollo de aplicaciones orientados a objetos utilizando los mecanismos de herencia y asociación de clases. (3 h.)
  • Sesión 5: Realización de interfaces gráficos de usuario. (3 h.)
  • Sesión 6: Construcción de una aplicación orientada a objetos completa con la realización de las clases de lógica de negocio y su interfaz gráfica. (4 h.)
Evaluación--------------------------------------------------------------------------------------------------
La calificación final de la asignatura será la suma de las notas obtenidas en:
  • Una prueba de evaluación (examen) con preguntas cortas y problemas de índole práctico.
  • Un trabajo práctico relacionado con la asignatura.
Bibliografía--------------------------------------------------------------------------------------------------
  • Arnow, D.; Weiss, G., "Introducción a la programación con Java. Un enfoque orientado a objetos.", Addison, Wesley, 2001.
  • Bruegge, B.; Dutoit, A.H., "Ingeniería de Software Orientado a Objetos", Prentice Hall, 2002.
  • Joyanes, L., "Programación orientada a objetos", Segunda Edición, McGraw-Hill, 1998.
  • Meyer, B., "Construcción de Software Orientado a Objetos", Segunda Edición, Prentice Hall, 1998.
  • Otón, S.; Martínez, J.J.; Hilera, J.R. "Programación orientada a objetos con Java", Servicio de Publicaciones, Universidad de Alcalá, 2000.

<VOLVER>